package com.github.mzule.fantasyslide.util;

import android.content.Context;
import android.os.Bundle;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Properties;

/**
 * Created by zhou on 2019-01-28.
 */

public class UserInfoUtil {
    /**
     * 使用属性文件保存用户的信息
     *
     * @param context 上下文
     * @param  bundle 用户信息集合
     * @return
     */
    public static boolean saveProUserInfo(Context context, Bundle bundle) {
        try {
            // 使用Android上下问获取当前项目的路径
            File file = new File(context.getFilesDir(), "info.properties");
            // 创建输出流对象
            FileOutputStream fos = new FileOutputStream(file);
            // 创建属性文件对象
            Properties pro = new Properties();
            // 设置用户名或密码
            pro.setProperty("name", bundle.getString("name"));
            pro.setProperty("type", bundle.getString("type"));
            pro.setProperty("num", bundle.getString("num"));
            pro.setProperty("ip", bundle.getString("ip"));
            pro.setProperty("port", bundle.getString("port"));
            pro.setProperty("username", bundle.getString("user"));
            pro.setProperty("password",bundle.getString("password"));
            // 保存文件
            pro.store(fos, "info.properties");
            // 关闭输出流对象
            fos.close();
            return true;
        } catch (Exception e) {
            throw new RuntimeException();
        }
    }

    /**
     * 返回属性文件对象
     *
     * @param context 上下文
     * @return
     */
    public static Properties getProObject(Context context) {
        try {
            // 创建File对象
            File file = new File(context.getFilesDir(), "info.properties");
            // 创建FileIutputStream 对象
            FileInputStream fis = new FileInputStream(file);
            // 创建属性对象
            Properties pro = new Properties();
            // 加载文件
            pro.load(fis);
            // 关闭输入流对象
            fis.close();
            return pro;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}

